package com.liantong.demo_part2.Mapper;

import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface UpdateMapper {
    /**
     * 直接规划法第一步：找到全市的局站名称
     */
    List<String> get_all_stations1();

    /**
     * 根据局站名称查找局站下的OLT名称及设备类型
     */
    List<Map<String,Object>> find_olt_name_list(String station);

    /**
     * 根据传入局站的名称，排序方式和数目，找到该局站下需要升级的PON口(直接法结果)
     */
    List<Map<String, Object>> find_pon_to_update_zhijie( Integer num,String station);

    /**
     * 根据传入局站的名称，排序方式和数目，找到该局站下需要升级的PON口(AHP法结果)
     */
    List<Map<String, Object>> find_pon_to_update_AHP( Integer num,String station);

    /**
     * 根据传入局站的名称，排序方式和数目，找到该局站下需要升级的PON口(TOPSIS法结果)
     */
    List<Map<String, Object>> find_pon_to_update_TOPSIS( Integer num,String station);

    List<Map<String,Object>> select_pon_port_data_by_olt_name(String olt_name);
    List<Map<String,Object>> select_pon_data_by_olt_name(String olt_name);


    /**
     * 筛选出num条带规划数据的局站信息及每个局站需要规划的条数
     */
    List<Map<String,Object>> find_stations_and_nums_zhijie(Integer num);
    List<Map<String,Object>> find_stations_and_nums_AHP(Integer num);
    List<Map<String,Object>> find_stations_and_nums_TOPSIS(Integer num);


//    List<String> find_station_in_num1(Integer num1);
//
//    List<String> find_station_in_num2(List<String> station_in_num1);


    /**
     * 以下部分的函数与二次升级有关
     */
    List<Map<String,Object>> find_pon_to_update_zhijie_erci(Integer start_num,Integer free_10G_PON_num,String station);
    List<Map<String,Object>> find_pon_to_update_zhijie_AHP_erci(Integer start_num,Integer free_10G_PON_num,String station);
    List<Map<String,Object>> find_pon_to_update_zhijie_TOPSIS_erci(Integer start_num,Integer free_10G_PON_num,String station);
}
